/*
 * Copyright (c) 2021，上海福宇龙汽车科技有限公司
 * All rights reserved.
 * 文件名称: tim.h
 * 摘要:
 * 当前版本: V1.0.0 周伟
 * Date: 2024-03-15
 * 历史版本: Vx.x.x，编写者/修改者，修改时间，修改内容（重大发布时，总结重点变更内容）
 */
#ifndef _TIM_OUT_H
#define _TIM_OUT_H

#include <stdint.h>
#define MAX_TICK_VALUE          0xffffffff
typedef enum
{
    no_timeout,/*未超时*/
    yes_timeout    /*已超时*/
}Is_timeout;


/******************************************************************************
*
 * 函数介绍: 中断中调用的ms累加计数函数
 * 输入参数: N/A
 * 输出参数: N/A
 * 返回值  : N/A
 
******************************************************************************/
void tick_1ms(void);

/******************************************************************************
*
 * 函数介绍: 获得Tick值 单位ms
 * 输入参数: N/A
 * 输出参数: uint32_t
 * 返回值  : Tick值
 
******************************************************************************/
uint32_t Get1MsTickVal(void);

/******************************************************************************
*
 * 函数介绍: 判断给定时间值与现在时间的差值是否超越给定的超时时间。
 * 输入参数: N/A
 * 输出参数：N/A
 * 返回值  ：Tick差值。
 
******************************************************************************/
Is_timeout Get1MsTickInterval(uint32_t wLastTickVal,uint32_t timeout);

/*
*****************************************************************
*name: TimeTick_Init
*descrip: Time Tick 模块初始化 
*****************************************************************
*/
void TimeTick_Init(void);
#endif
